Soru & Cevap

PerformSelector ve GCD (Grand Central Dispatch) Farkı

08.01.2016 - 10:17

Merhabalar

PerformSelector ve GCD (Grand Central Dispatch) hakkında sizlere bir sorum olacak. Açıkcası ikisi de aynı şey mi tam olarak anlayamadım ama aşağıdaki 2 farklı kod bloğunu kullanığımda aynı sonucu elde ediyorum. Başka kaynaklardan araştırdığım kadarıyla sanırım aralarında bir fark ama o farkı tam olarak algılayamadım.

Bu kod blokları aynı sonucu vermekte


•   serviceIns.performSelectorInBackground(Selector("GetKey"), withObject: nil)
 

•   let queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0)

        dispatch_async(queue) { () -> Void in

            serviceIns.GetKey()

        }

Acaba hangisinin hangi şartlarda kullanılacağına dair bir fikri olan var mı?

 

 

39 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user coskungun
coskungun
18.01.2016 - 06:13

dispatch_get_global_queue bu metotta sıraya alıp asenkron olarak işlem yaptırısın.Kuyruktaki işlemler bitene kadar devam eder. Diğerinde ise farklı bir iş parçacığı (thread) acıp ondan devam ettirirsin.İkiside lazım olan methodlar ve  kullanım durumuna göre esneklik gösterir.

Osman YILDIRIM
18.01.2016 - 07:29
çok teşekkürler cevabınız için.Peki örnekte olduğu gibi bir web servisten data okuma işlemi sırasında hangisini kullanmam daha uygundur?